package com.molihub.service.impl;

import com.molihub.entity.RegionStatistic;
import com.molihub.entity.Visitor;
import com.molihub.entity.VisitorStatistic;
import com.molihub.service.VisitorService;
import org.springframework.stereotype.Service;

import java.util.List;

 /**
 * @ClassName VisitorServiceImpl
 * @Description (Visitor)表服务实现类
 * @author 莫提
 * @date 2020-02-16 14:24:09
 * @Version 1.0
 **/
@Service("visitorService")
public class VisitorServiceImpl extends BaseService implements VisitorService {

    /**
     * @Description 添加Visitor
     * @author 莫提
     * @date 2020-02-16 14:24:09
     * @param visitor 实例对象
     * @return 是否成功
     */
    @Override
    public boolean insert(Visitor visitor) {
        if(visitorMapper.insert(visitor) == 1){
            return true;
        }
        return false;
    }

    /**
     * @Description 删除Visitor
     * @author 莫提
     * @date 2020-02-16 14:24:09
     * @param id 主键
     * @return 是否成功
     */
    @Override
    public boolean deleteById(Integer id) {
        if(visitorMapper.deleteById(id) == 1){
            return true;
        }
        return false;
    }

    /**
     * @Description 查询单条数据
     * @author 莫提
     * @date 2020-02-16 14:24:09
     * @param id 主键
     * @return 实例对象
     */
    @Override
    public Visitor queryById(Integer id) {
        return visitorMapper.queryById(id);
    }

    /**
     * @Description 查询全部数据
     * @author 莫提
     * @date 2020-02-16 14:24:09
     * 分页使用MyBatis的插件实现
     * @return 对象列表
     */
    @Override
    public List<Visitor> queryAll() {
        return visitorMapper.queryAll();
    }

    /**
     * @Description 实体作为筛选条件查询数据
     * @author 莫提
     * @date 2020-02-16 14:24:09
     * @param visitor 实例对象
     * @return 对象列表
     */
    @Override
    public List<Visitor> queryAll(Visitor visitor) {
        return visitorMapper.queryAll(visitor);
    }

    /**
     * @Description 修改数据，哪个属性不为空就修改哪个属性
     * @author 莫提
     * @date 2020-02-16 14:24:09
     * @param visitor 实例对象
     * @return 是否成功
     */
    @Override
    public boolean update(Visitor visitor) {
        if(visitorMapper.update(visitor) == 1){
            return true;
        }
        return false;
    }

     @Override
     public List<VisitorStatistic> getStatisticIn7Days(Integer userId, Integer type) {
         return visitorMapper.getStatisticIn7Days(userId,type);
     }

     @Override
     public List<RegionStatistic> getTodayVisitors(Integer userId) {
         return visitorMapper.getTodayVisitors(userId);
     }

 }